# -*- coding: utf-8 -*-
"""
@文件    :   Sales_scatter.py
@时间    :   2022/05/27 00:12:40
@作者    :   YTNetMan
@版本    :   1.0
@邮箱    :   ytnetman@163.com
@版权    :   (C)Copyright 2022-2025
@分类    :   办公自动化
@功能    :   利用线性回归方程来推测销售预期
            以我现在的知识根本无法理解这种算法，等以后弄明白再写注释
"""

import matplotlib.pyplot as plt
import pandas as pd
#导入科学计算中的线性回归方程
from scipy.stats import linregress

# 将month改成字符串是为了以后要对x轴平铺，否则会默认成浮点型
sales = pd.read_excel('./doc/Sales_scatter.xlsx', dtype={'Month': str, 'Revenue': float})
print(sales)
#趋势线方程，遇到直接拷贝，看不懂
slope, intercept, r_value, p_value, std_err = linregress(sales.index, sales.Revenue)
exp = sales.index * slope + intercept
#绘制散点图
plt.scatter(sales.index, sales.Revenue)
#绘制辅助线
plt.plot(sales.index, exp, color='red')
#平铺x轴
plt.xticks(sales.index, sales.Month, rotation=90)
plt.show()
